#
#
# Copyright TEDECO, 2009. http://tedeco.fi.upm.es
#
# This file is part of kumenya.
#
# Kumenya is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# Kumenya is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
#
#
#
<?php
class CuentaBancaria
{
	
	const AMBITO = Contabilidad;

	static public function getCampos ($tabla = false) {
		$gestorBD = new GestorBD();
		$campos = $gestorBD->CamposMultiplesTablas("MostrarCamposCuentaBancaria", self::AMBITO, TablaDeCuentasBancarias, $tabla);
		return $campos;
	}

	static public function DarDeAlta ($camposRellenos) {
		$gestorBD = new GestorBD();
		$exito = $gestorBD->EjecutarProcedimiento ('AltaDeCuentaBancaria',self::AMBITO,$camposRellenos);		
		if ($exito)
			Interfaz::Resultado($gestorBD->ObtenerResultado());
		else
			Interfaz::Error($gestorBD->ObtenerError());
		return $exito;		
	}

	static public function CriteriosConsulta () {
		$gestorBD = new GestorBD();
		$criterios = $gestorBD->CriteriosConsulta ('ConsultaDeCuentaBancariaOrganizaciones',self::AMBITO);
		if (empty($criterios)) {
			Interfaz::Error($gestorBD->ObtenerError());
		}
		return $criterios;
	}	

	static public function Consultar ($criterios = array()) {
		$tabla = array();
		$gestorBD = new GestorBD();
		
		$tablaOrganizaciones = $gestorBD->EjecutarProcedimientoConsulta ('ConsultaDeCuentaBancariaOrganizaciones',self::AMBITO, $criterios);
		if (!is_array($tablaOrganizaciones))
			Interfaz::Error($gestorBD->ObtenerError());
		else			
			$tabla[Organizacion] = $tablaOrganizaciones;
		
		$tablaPersonas = $gestorBD->EjecutarProcedimientoConsulta ('ConsultaDeCuentaBancariaPersonas',self::AMBITO, $criterios);
		if (!is_array($tablaOrganizaciones))
			Interfaz::Error($gestorBD->ObtenerError());
		else			
			$tabla[Persona] = $tablaPersonas;
			
		return $tabla;
	}

	static public function VerDetalles ($tipoCuenta,$identificador) {
		$gestorBD = new GestorBD();

		switch ($tipoCuenta) {
			// CUENTAS BANCARIAS ASOCIADAS A ORGANIZACIONES
			case Organizacion:
					$tabla = $gestorBD->EjecutarProcedimientoConsulta ('DetalleDeCuentaBancariaOrganizaciones',self::AMBITO, $identificador);
					break;
	
			// CUENTAS BANCARIAS ASOCIADAS A PERSONAS
			case Persona:
					$tabla = $gestorBD->EjecutarProcedimientoConsulta ('DetalleDeCuentaBancariaPersonas',self::AMBITO, $identificador);
					break;
		}

		if (!is_array($tabla) || empty($tabla)) {
			Interfaz::Error($gestorBD->ObtenerError());
			return FALSE;
		}
		return $tabla[0];
	}

	static public function DarDeBaja ($camposRellenos) {
		$gestorBD = new GestorBD();
		$exito = $gestorBD->EjecutarProcedimiento ('BajaDeCuentaBancaria',self::AMBITO,$camposRellenos);		
		if ($exito)
			Interfaz::Resultado($gestorBD->ObtenerResultado());
		else
			Interfaz::Error($gestorBD->ObtenerError());
		return $exito;	
	}

	static public function Modificar ($camposRellenos) {
		$gestorBD = new GestorBD();
		$exito = $gestorBD->EjecutarProcedimiento ('ModificacionDeCuentaBancaria',self::AMBITO,$camposRellenos);		
		if ($exito)
			Interfaz::Resultado($gestorBD->ObtenerResultado());
		else
			Interfaz::Error($gestorBD->ObtenerError());
		return $exito;		
	}

}
?>